Skip to content

fix: add qualified capi lua descriptor alias - #16

Merged
Sunrisepeak merged 1 commit into
mainfrom
fix/capi-lua-qualified-alias
May 26, 2026
Merged

fix: add qualified capi lua descriptor alias#16
Sunrisepeak merged 1 commit into
mainfrom
fix/capi-lua-qualified-alias

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Summary

  • Add a qualified descriptor alias for mcpplibs.capi.lua so mcpp 0.0.29/0.0.30 resolve the Form A package descriptor before falling back to compat.lua.
  • Keep the descriptor content identical to the existing canonical pkgs/c/capi.lua.lua entry.

Test plan

  • Verified the alias file matches pkgs/c/capi.lua.lua.
  • Verified descriptor contains spec/name/xpm fields with a local Python shape check.
  • Local lua5.4 is not installed; GitHub validate workflow will run the Lua syntax check.

@Sunrisepeak
Sunrisepeak merged commit 5b4c9aa into main May 26, 2026
1 check passed
@Sunrisepeak
Sunrisepeak deleted the fix/capi-lua-qualified-alias branch May 26, 2026 19:18
Sunrisepeak added a commit that referenced this pull request Sep 5, 2026
The release that closes mcpplibs/tinyhttps#15 (a socket whose body was not read
to the end went back into the connection pool, and the next request read the
leftovers as its status line) and #16 (a write to a departed peer killed the
host process with SIGPIPE). Eleven pool-invariant defects in total; the issue
named two of them.

Descriptor: three platform tables, GLOBAL and CN, sha256
acb4d494bae2030632f4d91e4e8420cee9aed4560e4d0a6876e85232d2ba67f9. The GitHub
archive was downloaded twice independently and both copies carried that digest;
the CN mirror was uploaded from the first of them and a fresh CN download is
byte-identical. `mcpp test` was run against BOTH mirrors from a cleared cache,
and each reported `Downloading mcpplibs.tinyhttps v0.3.0` and produced an
archive with the same digest — so neither URL is recorded on the strength of the
other.

The smoke example moves to 0.3.0 and gains three assertions, chosen because they
are the ones a version bump could break rather than because they are new:

  * `parse_status_line` accepts `HTTP/1.1 200 OK` and REJECTS
    `BBBB 999 XHTTP/1.1 200 OK`, which is the exact input from the issue — every
    reader used to take the first run of digits it found and report an ordinary
    999.
  * `response.bodyComplete` and `bodyError`, the new fields, hold their
    documented defaults.
  * `HttpResponse{204, "No Content", {}, {}}` still compiles. That line is
    unchanged from the 0.2.9 example and is the whole compatibility claim for
    0.3.0's added fields: they are appended, so a four-initialiser aggregate
    initialisation keeps working and `ok()` keeps meaning what it meant.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant